
/*

  KLayout Layout Viewer
  Copyright (C) 2006-2025 Matthias Koefferlein

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

*/

/**
*  @file gsiDeclQJsonObject.cc 
*
*  DO NOT EDIT THIS FILE. 
*  This file has been created automatically
*/

#include <QJsonObject>
#include <QJsonValue>
#include <QJsonValueRef>
#include "gsiQt.h"
#include "gsiQtCoreCommon.h"
#include <memory>

// -----------------------------------------------------------------------
// class QJsonObject
  static bool QJsonObject_operator_eq(const QJsonObject *a, const QJsonObject &b) {
    return *a == b;
  }
  static bool QJsonObject_operator_ne(const QJsonObject *a, const QJsonObject &b) {
    return !(*a == b);
  }

//  Constructor QJsonObject::QJsonObject()


static void _init_ctor_QJsonObject_0 (qt_gsi::GenericStaticMethod *decl)
{
  decl->set_return_new<QJsonObject> ();
}

static void _call_ctor_QJsonObject_0 (const qt_gsi::GenericStaticMethod * /*decl*/, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<QJsonObject *> (new QJsonObject ());
}


//  Constructor QJsonObject::QJsonObject(const QJsonObject &other)


static void _init_ctor_QJsonObject_2403 (qt_gsi::GenericStaticMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("other");
  decl->add_arg<const QJsonObject & > (argspec_0);
  decl->set_return_new<QJsonObject> ();
}

static void _call_ctor_QJsonObject_2403 (const qt_gsi::GenericStaticMethod * /*decl*/, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QJsonObject &arg1 = gsi::arg_reader<const QJsonObject & >() (args, heap);
  ret.write<QJsonObject *> (new QJsonObject (arg1));
}


// QJsonObject::iterator QJsonObject::begin()


static void _init_f_begin_0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<QJsonObject::iterator > ();
}

static void _call_f_begin_0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<QJsonObject::iterator > ((QJsonObject::iterator)((QJsonObject *)cls)->begin ());
}


// bool QJsonObject::contains(const QString &key)


static void _init_f_contains_c2025 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("key");
  decl->add_arg<const QString & > (argspec_0);
  decl->set_return<bool > ();
}

static void _call_f_contains_c2025 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QString &arg1 = gsi::arg_reader<const QString & >() (args, heap);
  ret.write<bool > ((bool)((QJsonObject *)cls)->contains (arg1));
}


// qsizetype QJsonObject::count()


static void _init_f_count_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<qsizetype > ();
}

static void _call_f_count_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<qsizetype > ((qsizetype)((QJsonObject *)cls)->count ());
}


// bool QJsonObject::empty()


static void _init_f_empty_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<bool > ();
}

static void _call_f_empty_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<bool > ((bool)((QJsonObject *)cls)->empty ());
}


// QJsonObject::iterator QJsonObject::end()


static void _init_f_end_0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<QJsonObject::iterator > ();
}

static void _call_f_end_0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<QJsonObject::iterator > ((QJsonObject::iterator)((QJsonObject *)cls)->end ());
}


// QJsonObject::iterator QJsonObject::erase(QJsonObject::iterator it)


static void _init_f_erase_2516 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("it");
  decl->add_arg<QJsonObject::iterator > (argspec_0);
  decl->set_return<QJsonObject::iterator > ();
}

static void _call_f_erase_2516 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  QJsonObject::iterator arg1 = gsi::arg_reader<QJsonObject::iterator >() (args, heap);
  ret.write<QJsonObject::iterator > ((QJsonObject::iterator)((QJsonObject *)cls)->erase (arg1));
}


// QJsonObject::iterator QJsonObject::find(const QString &key)


static void _init_f_find_2025 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("key");
  decl->add_arg<const QString & > (argspec_0);
  decl->set_return<QJsonObject::iterator > ();
}

static void _call_f_find_2025 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QString &arg1 = gsi::arg_reader<const QString & >() (args, heap);
  ret.write<QJsonObject::iterator > ((QJsonObject::iterator)((QJsonObject *)cls)->find (arg1));
}


// QJsonObject::iterator QJsonObject::insert(const QString &key, const QJsonValue &value)


static void _init_f_insert_4230 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("key");
  decl->add_arg<const QString & > (argspec_0);
  static gsi::ArgSpecBase argspec_1 ("value");
  decl->add_arg<const QJsonValue & > (argspec_1);
  decl->set_return<QJsonObject::iterator > ();
}

static void _call_f_insert_4230 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QString &arg1 = gsi::arg_reader<const QString & >() (args, heap);
  const QJsonValue &arg2 = gsi::arg_reader<const QJsonValue & >() (args, heap);
  ret.write<QJsonObject::iterator > ((QJsonObject::iterator)((QJsonObject *)cls)->insert (arg1, arg2));
}


// bool QJsonObject::isEmpty()


static void _init_f_isEmpty_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<bool > ();
}

static void _call_f_isEmpty_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<bool > ((bool)((QJsonObject *)cls)->isEmpty ());
}


// QStringList QJsonObject::keys()


static void _init_f_keys_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<QStringList > ();
}

static void _call_f_keys_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<QStringList > ((QStringList)((QJsonObject *)cls)->keys ());
}


// qsizetype QJsonObject::length()


static void _init_f_length_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<qsizetype > ();
}

static void _call_f_length_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<qsizetype > ((qsizetype)((QJsonObject *)cls)->length ());
}


// QJsonObject &QJsonObject::operator =(const QJsonObject &other)


static void _init_f_operator_eq__2403 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("other");
  decl->add_arg<const QJsonObject & > (argspec_0);
  decl->set_return<QJsonObject & > ();
}

static void _call_f_operator_eq__2403 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QJsonObject &arg1 = gsi::arg_reader<const QJsonObject & >() (args, heap);
  ret.write<QJsonObject & > ((QJsonObject &)((QJsonObject *)cls)->operator = (arg1));
}


// QJsonValueRef QJsonObject::operator[](const QString &key)


static void _init_f_operator_index__2025 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("key");
  decl->add_arg<const QString & > (argspec_0);
  decl->set_return<QJsonValueRef > ();
}

static void _call_f_operator_index__2025 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QString &arg1 = gsi::arg_reader<const QString & >() (args, heap);
  ret.write<QJsonValueRef > ((QJsonValueRef)((QJsonObject *)cls)->operator[] (arg1));
}


// void QJsonObject::remove(const QString &key)


static void _init_f_remove_2025 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("key");
  decl->add_arg<const QString & > (argspec_0);
  decl->set_return<void > ();
}

static void _call_f_remove_2025 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QString &arg1 = gsi::arg_reader<const QString & >() (args, heap);
  __SUPPRESS_UNUSED_WARNING(ret);
  ((QJsonObject *)cls)->remove (arg1);
}


// qsizetype QJsonObject::size()


static void _init_f_size_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<qsizetype > ();
}

static void _call_f_size_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<qsizetype > ((qsizetype)((QJsonObject *)cls)->size ());
}


// void QJsonObject::swap(QJsonObject &other)


static void _init_f_swap_1708 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("other");
  decl->add_arg<QJsonObject & > (argspec_0);
  decl->set_return<void > ();
}

static void _call_f_swap_1708 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  QJsonObject &arg1 = gsi::arg_reader<QJsonObject & >() (args, heap);
  __SUPPRESS_UNUSED_WARNING(ret);
  ((QJsonObject *)cls)->swap (arg1);
}


// QJsonValue QJsonObject::take(const QString &key)


static void _init_f_take_2025 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("key");
  decl->add_arg<const QString & > (argspec_0);
  decl->set_return<QJsonValue > ();
}

static void _call_f_take_2025 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QString &arg1 = gsi::arg_reader<const QString & >() (args, heap);
  ret.write<QJsonValue > ((QJsonValue)((QJsonObject *)cls)->take (arg1));
}


// QVariantHash QJsonObject::toVariantHash()


static void _init_f_toVariantHash_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<QVariantHash > ();
}

static void _call_f_toVariantHash_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<QVariantHash > ((QVariantHash)((QJsonObject *)cls)->toVariantHash ());
}


// QVariantMap QJsonObject::toVariantMap()


static void _init_f_toVariantMap_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<QVariantMap > ();
}

static void _call_f_toVariantMap_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  ret.write<QVariantMap > ((QVariantMap)((QJsonObject *)cls)->toVariantMap ());
}


// QJsonValue QJsonObject::value(const QString &key)


static void _init_f_value_c2025 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("key");
  decl->add_arg<const QString & > (argspec_0);
  decl->set_return<QJsonValue > ();
}

static void _call_f_value_c2025 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QString &arg1 = gsi::arg_reader<const QString & >() (args, heap);
  ret.write<QJsonValue > ((QJsonValue)((QJsonObject *)cls)->value (arg1));
}


// static QJsonObject QJsonObject::fromVariantHash(const QVariantHash &map)


static void _init_f_fromVariantHash_2507 (qt_gsi::GenericStaticMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("map");
  decl->add_arg<const QVariantHash & > (argspec_0);
  decl->set_return<QJsonObject > ();
}

static void _call_f_fromVariantHash_2507 (const qt_gsi::GenericStaticMethod * /*decl*/, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QVariantHash &arg1 = gsi::arg_reader<const QVariantHash & >() (args, heap);
  ret.write<QJsonObject > ((QJsonObject)QJsonObject::fromVariantHash (arg1));
}


// static QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)


static void _init_f_fromVariantMap_2405 (qt_gsi::GenericStaticMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("map");
  decl->add_arg<const QVariantMap & > (argspec_0);
  decl->set_return<QJsonObject > ();
}

static void _call_f_fromVariantMap_2405 (const qt_gsi::GenericStaticMethod * /*decl*/, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  __SUPPRESS_UNUSED_WARNING(args);
  tl::Heap heap;
  const QVariantMap &arg1 = gsi::arg_reader<const QVariantMap & >() (args, heap);
  ret.write<QJsonObject > ((QJsonObject)QJsonObject::fromVariantMap (arg1));
}



namespace gsi
{

static gsi::Methods methods_QJsonObject () {
  gsi::Methods methods;
  methods += new qt_gsi::GenericStaticMethod ("new", "@brief Constructor QJsonObject::QJsonObject()\nThis method creates an object of class QJsonObject.", &_init_ctor_QJsonObject_0, &_call_ctor_QJsonObject_0);
  methods += new qt_gsi::GenericStaticMethod ("new", "@brief Constructor QJsonObject::QJsonObject(const QJsonObject &other)\nThis method creates an object of class QJsonObject.", &_init_ctor_QJsonObject_2403, &_call_ctor_QJsonObject_2403);
  methods += new qt_gsi::GenericMethod ("begin", "@brief Method QJsonObject::iterator QJsonObject::begin()\n", false, &_init_f_begin_0, &_call_f_begin_0);
  methods += new qt_gsi::GenericMethod ("contains", "@brief Method bool QJsonObject::contains(const QString &key)\n", true, &_init_f_contains_c2025, &_call_f_contains_c2025);
  methods += new qt_gsi::GenericMethod ("count", "@brief Method qsizetype QJsonObject::count()\n", true, &_init_f_count_c0, &_call_f_count_c0);
  methods += new qt_gsi::GenericMethod ("empty", "@brief Method bool QJsonObject::empty()\n", true, &_init_f_empty_c0, &_call_f_empty_c0);
  methods += new qt_gsi::GenericMethod ("end", "@brief Method QJsonObject::iterator QJsonObject::end()\n", false, &_init_f_end_0, &_call_f_end_0);
  methods += new qt_gsi::GenericMethod ("erase", "@brief Method QJsonObject::iterator QJsonObject::erase(QJsonObject::iterator it)\n", false, &_init_f_erase_2516, &_call_f_erase_2516);
  methods += new qt_gsi::GenericMethod ("find", "@brief Method QJsonObject::iterator QJsonObject::find(const QString &key)\n", false, &_init_f_find_2025, &_call_f_find_2025);
  methods += new qt_gsi::GenericMethod ("insert", "@brief Method QJsonObject::iterator QJsonObject::insert(const QString &key, const QJsonValue &value)\n", false, &_init_f_insert_4230, &_call_f_insert_4230);
  methods += new qt_gsi::GenericMethod ("isEmpty?", "@brief Method bool QJsonObject::isEmpty()\n", true, &_init_f_isEmpty_c0, &_call_f_isEmpty_c0);
  methods += new qt_gsi::GenericMethod ("keys", "@brief Method QStringList QJsonObject::keys()\n", true, &_init_f_keys_c0, &_call_f_keys_c0);
  methods += new qt_gsi::GenericMethod ("length", "@brief Method qsizetype QJsonObject::length()\n", true, &_init_f_length_c0, &_call_f_length_c0);
  methods += new qt_gsi::GenericMethod ("assign", "@brief Method QJsonObject &QJsonObject::operator =(const QJsonObject &other)\n", false, &_init_f_operator_eq__2403, &_call_f_operator_eq__2403);
  methods += new qt_gsi::GenericMethod ("[]", "@brief Method QJsonValueRef QJsonObject::operator[](const QString &key)\n", false, &_init_f_operator_index__2025, &_call_f_operator_index__2025);
  methods += new qt_gsi::GenericMethod ("remove", "@brief Method void QJsonObject::remove(const QString &key)\n", false, &_init_f_remove_2025, &_call_f_remove_2025);
  methods += new qt_gsi::GenericMethod ("size", "@brief Method qsizetype QJsonObject::size()\n", true, &_init_f_size_c0, &_call_f_size_c0);
  methods += new qt_gsi::GenericMethod ("swap", "@brief Method void QJsonObject::swap(QJsonObject &other)\n", false, &_init_f_swap_1708, &_call_f_swap_1708);
  methods += new qt_gsi::GenericMethod ("take", "@brief Method QJsonValue QJsonObject::take(const QString &key)\n", false, &_init_f_take_2025, &_call_f_take_2025);
  methods += new qt_gsi::GenericMethod ("toVariantHash", "@brief Method QVariantHash QJsonObject::toVariantHash()\n", true, &_init_f_toVariantHash_c0, &_call_f_toVariantHash_c0);
  methods += new qt_gsi::GenericMethod ("toVariantMap", "@brief Method QVariantMap QJsonObject::toVariantMap()\n", true, &_init_f_toVariantMap_c0, &_call_f_toVariantMap_c0);
  methods += new qt_gsi::GenericMethod ("value", "@brief Method QJsonValue QJsonObject::value(const QString &key)\n", true, &_init_f_value_c2025, &_call_f_value_c2025);
  methods += new qt_gsi::GenericStaticMethod ("fromVariantHash", "@brief Static method QJsonObject QJsonObject::fromVariantHash(const QVariantHash &map)\nThis method is static and can be called without an instance.", &_init_f_fromVariantHash_2507, &_call_f_fromVariantHash_2507);
  methods += new qt_gsi::GenericStaticMethod ("fromVariantMap", "@brief Static method QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)\nThis method is static and can be called without an instance.", &_init_f_fromVariantMap_2405, &_call_f_fromVariantMap_2405);
  return methods;
}

gsi::Class<QJsonObject> decl_QJsonObject ("QtCore", "QJsonObject",
  gsi::method_ext("==", &QJsonObject_operator_eq, gsi::arg ("other"), "@brief Method bool QJsonObject::operator==(const QJsonObject &) const") +
  gsi::method_ext("!=", &QJsonObject_operator_ne, gsi::arg ("other"), "@brief Method bool QJsonObject::operator!=(const QJsonObject &) const") 
+
  methods_QJsonObject (),
  "@qt\n@brief Binding of QJsonObject");


GSI_QTCORE_PUBLIC gsi::Class<QJsonObject> &qtdecl_QJsonObject () { return decl_QJsonObject; }

}

